%
% paper.bib : bibliography source file for revised Cowichan paper
%

@inproceedings{b:p3l-overview,
	key="{Bacci {\bibea} 1994}",
	shortkey="{BDP94}",
	author="Bacci, B. and Danelutto, M. and Pelagatti, S.",
	title="{Resource Optimisation via Structured Parallel Programming}",
	booktitle="{Proceedings of the IFIP Working Conference on
		Programming Environments
		for Massively Parallel Distributed Systems}",
	month="April",
	year="1994",
	publisher="{{Birkh\"{a}user} Verlag AG}",
	annote="{parallel programming systems}{P3L}",
	summary="\bibnote{
		Describes a template-based parallel programming system
		that uses performance models to choose the degree of
		replication.}",
}

@book{b:babb-cases,
	key="{Babb 1988}",
	shortkey="{Babb88}",
	editor="Babb, Robert G.",
	title="{Programming Parallel Processors}",
	publisher="{Addison-Wesley}",
	year="1988",
	annote="{parallel programming}{textbook}",
	summary="\bibnote{
		Examples of solving a single, simple problem
		on a variety of parallel machines.}",
}

@article{b:nas-results,
	key="{Bailey {\bibea} 1993}",
	shortkey="{BBDS93}",
	author="Bailey, David H. and Barszcz, Eric and Dagum, Leonardo
		and Simon, Horst D.",
	title="{NAS Parallel Benchmark Results}",
	journal="{IEEE Parallel \& Distributed Technology}",
	month="February",
	year="1993",
	annote="{benchmarking}",
	summary="\bibnote{
		A look at the current status and standings with this
		benchmark suite.}",
}

@article{b:par-lang-survey,
	key="{Bal {\bibea} 1989}",
	shortkey="{BST89}",
	author="Bal, Henri E. and Steiner, J. G. and Tanenbaum, A. S.",
	title="{Programming Languages for Distributed Computing Systems}",
	journal="{ACM Computing Surveys}",
	volume="21",
	number="3",
	year="1989",
	annote="{parallel programming systems}",
	summary="\bibnote{
		An thorough survey of existing parallel programming languages.}",
}

@article{b:orca-article,
	key="{Bal {\bibea} 1992}",
	shortkey="{BTK92}",
	author="Bal, Henri E. and Kaashoek, M. Frans and Tanenbaum, Andrew S. ",
	title="{Orca: A Language for Parallel Programming of Distributed Systems}",
	journal="{IEEE Transactions on Software Engineering}",
	volume="18",
	number="3",
	month="March",
	year="1992",
	annote="{parallel programming systems}{Orca}",
	summary="\bibnote{
		A fuller description of Orca,
		a language based on distributed data objects.}",
}

@inproceedings{b:munin-overview,
	key="{Bennett {\bibea} 1990}",
	shortkey="{BeCZ90}",
	author="Bennett, John K. and Carter, John B. and Zwaenepoel, Willy",
	title="{Munin:
		Distributed Shared Memory Based on Type-Specific Memory Coherence}",
	booktitle="{Proceedings of the 1990 Conference on
		 Principles and Practice of Parallel Programming}",
	publisher="ACM Press",
	year="1990",
	annote="{Munin}{distributed shared memory}{parallel programming systems}",
	summary="\bibnote{
		Describes a system which supports shared memory
		using a variety of different mechanisms.}",
}

@article{b:pc-plusplus-distrib,
	key="{Bodin {\bibea} 1993}",
	shortkey="{BBG+93}",
	author="Bodin, {Fran\c{c}ois} and Beckman, Peter and Gannon, Dennis
		and Narayana, Srinivas and Yang, Shelby",
	title="{Distributed pC++:
		Basic Ideas for an Object Parallel Language}",
	journal="{Scientific Programming}",
	volume="2",
	year="1994",
	pages="7--22",
	annote="{parallel programming systems}{pC++}",
	summary="\bibnote{
		A recent look at pC++.}",
}
	
@book{b:concurrent-aggregates,
	key="{Chien 1993}",
	shortkey="{Chie93}",
	author="Chien, Andrew A.",
	title="{Concurrent Aggregates: Supporting Modularity in Massively-Parallel Programs}",
	publisher="{MIT Press}",
	year="1993",
	annote="{parallel programming systems}{Concurrent Aggregates}",
	summary="\bibnote{
		The author's thesis on a fine-grained Actors-like programming system.}",
}

@book{b:cole-skel,
	key="{Cole 1989}",
	shortkey="{Cole89}",
	author="Cole, Murray",
	title="{Algorithmic Skeletons: Structured Management of Parallel Computation}",
	publisher="{MIT Press}",
	year="1989",
	annote="{parallel complexity}{functional programming}{parallel programming systems}",
	summary="\bibnote{
		Introduces the notion of higher-order functions as structural templates
		for regular parallel computations.}",
}

@article{b:social-limits-speed,
	key="{Elzen \& Mackenzie 1994}",
	shortkey="{ElMa94}",
	author="Elzen, Boelie and MacKenzie, Donald",
	title="{The Social Limits of Speed:
		The Development and Use of Supercomputers}",
	journal="{IEEE Annals of the History of Computing}",
	volume="16",
	number="1",
	year="1994",
	annote="{sociology}",
	summary="\bibnote{
		Looks at the historical development of Cray Research Inc.
		and its machines.}",
}

@book{b:fenton-metrics,
	key="{Fenton 1991}",
	shortkey="{Fent91}",
	author="Fenton, Norman E.",
	title="{Software Metrics: A Rigorous Approach}",
	publisher="{Chapman and Hall}",
	year="1991",
	annote="{software metrics}",
	summary="\bibnote{
		A comprehensive, critical introduction
		to software metrics.}",
}

@article{b:livermore-loops,
	key="{Feo 1988}",
	shortkey="{Feo88}",
	author="Feo, John T.",
	title="{An Analysis of the Computational and Parallel Complexity
		of the Livermore Loops}",
	journal="{Parallel Computing}",
	volume="7",
	number="2",
	pages="163--85",
	year="1988",
	annote="{Livermore Loops}{benchmarks}",
	summary="\bibnote{
		An overview of what the loops are,
		and how fast they can be made to run.}",
}

@article{b:sisal-overview,
	key="{Feo {\bibea} 1990}",
	shortkey="{FCO90}",
	author="Feo, John T. and Cann, David C. and Oldehoeft, Rodney R.",
	title="{A Report on the Sisal Language Project}",
	journal="{Journal of Parallel and Distributed Computing}",
	volume="10",
	pages="349--66",
	year="1990",
	annote="{parallel programming systems}{compilation}{SISAL}",
	summary="\bibnote{
		A look at how to implement a single-assignment language
		efficiently on shared-memory parallel computers.}",
}

@book{b:salishan,
	key="{Feo 1992a}",
	shortkey="{Feo92a}",
	editor="Feo, John T.",
	title="{A Comparative Study of Parallel Programming Languages:
		The Salishan Problems}",
	publisher="{North-Holland}",
	year="1992",
	annote="{parallel programming systems}",
	summary="\bibnote{
		Compares implementations of four problems
		in eight different parallel programming systems.}",
}

@book{b:compare-ada-c-pascal,
	key="{Feuer \& Gehani 1984a}",
	shortkey="{FeGe84a}",
	editor="Feuer, Alan R. and Gehani, Narain H.",
	title="{Comparing \& Assessing Programming Languages: Ada, C, Pascal}",
	publisher="{Prentice-Hall}",
	year="1984",
	annote="{psychology of programming}{comparison of programming languages}",
	summary="\bibnote{
		A collection of essays by various authors
		comparing the three languages in the early 1980s.}",
}

@techreport{b:fortran-m,
	key="{Foster \& Chandy 1992}",
	shortkey="{FoCh92}",
	author="Foster, I. and Chandy, K. M.",
	title="{FORTRAN~M: A Language for Modular Parallel Programming}",
	institution="Argonne National Laboratory",
	number="MCS-P327-0992",
	year="1992",
	annote="{parallel programming systems}{Fortarn M}",
	summary="\bibnote{
		Describes Fortran~M,
		which integrates some dataflow ideas into Fortran
		to create a control-parallel system
		with explicit, but dynamic, channels.}",
}

@article{b:isoefficiency-tutorial,
	key="{Grama {\bibea} 1993}",
	shortkey="{GGK93}",
	author="Grama, Ananth and Gupta, Anshul and Kumar, Vipin",
	title="{Isoefficiency:
		Measuring the Scalability of Parallel Algorithms and Architectures}",
	journal="{IEEE Parallel and Distributed Technology}",
	volume="1",
	number="3",
	month="August",
	year="1993",
	annote="{isoefficiency}",
	summary="\bibnote{
		A good tutorial on isoefficiency functions.}",
}

@incollection{b:reverse-parsing-2,
	key="{Green {\bibea} 1987}",
	shortkey="{GrBP87}",
	author="Green, T. R. G. and Bellamy, R. K. E. and Parker, J. M.",
	title="{Parsing and Gnisrap: A Model of Device Use}",
	editor="Olson, Gary M. and Sheppard, Sylvia and Soloway, Elliot",
	booktitle="{Empirical Studies of Programmers: Second Workshop}",
	publisher="{Ablex}",
	year="1987",
	annote="{empirical studies of programming}",
	summary="\bibnote{
		Argues that coding is done by turning
		idea about programming (in long-term memory)
		into actual code (in short-term memory),
		then reifying that code,
		and that programmers then refresh their short-term memory
		by looking over their code again.
		A ``role-expressive'' language makes this easier to do.
		(As demonstration, think of trying to program blindfolded\ldots)}",
}

@article{b:slalom,
	key="{Gustafson {\bibea} 1990}",
	shortkey="{GREC90}",
	author="Gustafson, John and Rover, Diane and Elbert, Stephen and Carter, Michael",
	title="{The Design of a Scalable, Fixed-Time Computer Benchmark}",
	journal="{Journal of Parallel and Distributed Computing}",
	volume="12",
	pages="388--401",
	year="1991",
	annote="{scalability}{benchmarking}{SLALOM}",
	summary="\bibnote{
		Presents the design rationale for the SLALOM benchmark.}",
}

@book{b:dataparallel-c,
	key="{Hatcher \& Quinn 1991}",
	shortkey="{HaQu91}",
	author="Hatcher, Philip J. and Quinn, Michael J.",
	title="{Data-Parallel Programming on MIMD Computers}",
	publisher="{MIT Press}",
	year="1991",
	annote="{parallel programming systems}{Dataparallel-C}",
	summary="\bibnote{
		Describes a data-parallel C similar to the original C*,
		and how to compile it for MIMD computers.}",
}

@article{b:hockney-perfparam,
	key="{Hockney 1991}",
	shortkey="{Hock91}",
	author="Hockney, Roger",
	title="{Performance Parameters and Benchmarking of Supercomputers}",
	journal="{Parallel Computing}",
	volume="17",
	pages="1111--30",
	year="1991",
	annote="{benchmarking}{performance parameters}",
	summary="\bibnote{
		Interprets some benchmarks in terms of four theoretical parameters.}",
}

@article{b:parkbench,
	key="{Hockney \& Berry 1994}",
	shortkey="{HoBe94}",
	author="Hockney, R. and Berry, M.",
	title="{Public International Benchmarks for Parallel Computers}",
	journal="{Scientific Programming}",
	volume="3",
	number="2",
	month="Summer",
	year="1994",
	pages="101--46",
	annote="{benchmarks}{Parkbench}",
	summary="\bibnote{
		The first report on Parkbench.}",
}

@book{b:occam,
	key="{Inmos 1988a}",
	shortkey="{Inm88a}",
	author="{Inmos Ltd.}",
	title="{Occam 2 Reference Manual}",
	publisher="{Prentice Hall}",
	year=1988,
	annote="{parallel programming tools}{Occam}",
	summary="\bibnote{
		The official guide to the second incarnation of Occam.}",
}

@book{b:ada,
	key="{Jones 1989}",
	shortkey="{Jone89}",
	author="Jones, Do-While",
	title="{Ada in Action}",
	publisher="{Wiley}",
	year="1989",
	annote="{parallel programming systems}{Ada}",
}

@article{b:hpf-overview,
	key="{Loveman 1993}",
	shortkey="{Love93}",
	author="Loveman, David B.",
	title="{High Performance Fortran}",
	journal="{IEEE Parallel \& Distributed Technology}",
	month="February",
	year="1993",
	volume="1",
	number="1",
	annote="{parallel programming systems}{HPF}",
	summary="\bibnote{
		A look at the development and content of
		the HPF standard.}",
}

@article{b:invasion-percolation,
	key="{Sander {\bibea} 1994}",
	shortkey="{SSZ94}",
	author="Sander, Evelyn and Sander, Leonard M. and Ziff, Robert M.",
	title="{Fractals and Fractal Correlations}",
	journal="{Computer in Physics}",
	volume="8",
	number="4",
	year="1994",
	pages="420--25",
	annote="{physics}{invasion percolation}{fractals}",
	summary="\bibnote{
		A look at how to measure properties of fractals,
		using invasion percolation as an example.}",
}

@article{b:enterprise,
	key="{Schaeffer {\bibea} 1993}",
	shortkey="{SSLP93}",
	author="Schaeffer, Jonathan and Szafron, Duane and Lobe, Greg and Parsons, Ian",
	title="{The Enterprise Model for Developing Distributed Applications}",
	journal="{IEEE Parallel \& Distributed Technology}",
	volume="1",
	number="3",
	year="1993",
	pages="85--96",
	annote="{parallel programming systems}{Enterprise}",
	summary="\bibnote{
		Describes the present incarnation of Enterprise.}",
}

@article{b:psych-prog-survey,
	key="{Sheil 1981}",
	shortkey="{Shei81}",
	author="Sheil, B. A.",
	title="{The Psychological Study of Programming}",
	journal="{ACM Computing Surveys}",
	volume="13",
	number="1",
	month="March",
	year="1981",
	annote="{psychology of programming}",
	summary="\bibnote{
		A survey and (strong) critique of
		work up to that time on the psychological study
		of programmers.}",
}

@article{b:elastic-net,
	key="{Simmen 1991}",
	shortkey="{Simm91}",
	author="Simmen, Martin W.",
	title="{Parameter Sensitivity of the Elastic Net Approach
		to the Travelling Salesman Problem}",
	journal="{Neural Computation}",
	volume="3",
	pages="363--74",
	year="1991",
	annote="{elastic net algorithm}",
	summary="\bibnote{
		A description of the elastic net algorithm
		and its parameter regime.}",
}

@inproceedings{b:verified-ccpp,
	key="{Sivilotti 1994}",
	shortkey="{Sivi4}",
	author="Sivilotti, Paolo A. G.",
	title="{A Verified Integration of Parallel Programming Paradigms in CC++}",
	booktitle="{Proc.\ Eighth International Parallel Processing Symposium}",
	editor="Siegel, Howard Jay",
	publisher="IEEE Computer Society Press",
	month="April",
	year="1994",
	annote="{parallel programming systems}{CC++}",
	summary="\bibnote{
		Shows how monitors and asynchronous channels can be constructed
		in CC++, and proves the correctness of the implementation.}",
}

@book{b:percolation-theory,
	key="{Stauffer \& Aharony 1992}",
	shortkey="{StAh92}",
	author="Stauffer, D. and Aharony, A.",
	title="{Introduction to Percolation Theory}",
	publisher="{Taylor and Francis}",
	year="1992",
	annote="{physics}{invasion percolation}",
	summary="\bibnote{
		An introduction to the theory of percolation phenomena,
		including invasion percolation.}",
}

@incollection{b:cloze-program-1,
	key="{Thomas \& Zweben 1986}",
	shortkey="{ThZw86}",
	author="Thomas, Mark and Zweben, Stuart",
	title="{The Effects of Program-Dependent and Program-Independent Deletions
		on Software Cloze Tests}",
	booktitle="{Empirical Studies of Programmers
		   (Proceedings of the First Workshop on
		   Empirical Studies of Programmers)}",
	editor="Soloway, Elliot and Iyengar, Sitharama",
	publisher="{Ablex}",
	year="1986",
	annote="{empirical studies of programming}",
	summary="\bibnote{
		Shows that the outcome of cloze tests (pennies-guessing game)
		on programs depends on the types of the tokens to be guessed.}",
}

@article{b:mpi-overview,
	key="{Walker 1994}",
	shortkey="{Walk94}",
	author="Walker, David W.",
	title="{The Design of a Standard Message-Passing Interface
		for Distributed Memory Concurrent Computers}",
	journal="{Parallel Computing}",
	volume="20",
	number="4",
	month="April",
	year="1994",
	annote="{parallel programming systems}{MPI}",
	summary="\bibnote{
		Published overview of the MPI message passing standard.}",
}

@article{b:bench-over,
	key="{Weicker 1990}",
	shortkey="{Weic90}",
	author="Weicker, Reinhold P.",
	title="{An Overview of Common Benchmarks}",
	journal="{IEEE Computer}",
	month="December",
	year="1990",
	annote="{benchmarking}",
	summary="\bibnote{
		A look at some of the pitfalls of benchmarking.}",
}

@incollection{b:prog-comprehension-1,
	key="{Wiedenbeck 1986}",
	shortkey="{Wied86}",
	author="Wiedenbeck, Susan",
	title="{Processes in Computer Program Comprehension}",
	booktitle="{Empirical Studies of Programmers
		   (Proceedings of the First Workshop on
		   Empirical Studies of Programmers)}",
	editor="Soloway, Elliot and Iyengar, Sitharama",
	publisher="{Ablex}",
	year="1986",
	annote="{empirical studies of programming}",
	summary="\bibnote{
		Shows that programmers use key lines (beacons) in programs
		in order to determine its function,
		rather than reading it line by line.}",
}

@inproceedings{b:cowichan-1,
	key="{Wilson 1994}",
	shortkey="{Wils94}",
	author="Wilson, Gregory V.",
	title="{Assessing the Usability of Parallel Programming Systems:
		The Cowichan Problems}",
	booktitle="{Proceedings of the IFIP Working Conference on
		Programming Environments
		for Massively Parallel Distributed Systems}",
	month="April",
	year="1994",
	publisher="{{Birkh\"{a}user} Verlag AG}",
	annote="{parallel programming systems}{comparison}{Enterprise}",
	summary="\bibnote{
		A quantitative comparison of programming under Enterprise
		and under raw message-passing.}",
}

